package com.ws.main;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
/**
 * Axis 调用 webservice
 * 
 * @author 旷明爱
 * @date 2015年12月28日 下午8:11:36
 * @email mingai.kuang@mljr.com
 */
public class WsClient2 {
	public static void main(String[] args) { 
		try {
			String ns ="http://impl.ws.com"; //命名空间
			String endpoint = "http://127.0.0.1:9090/springws/services/helloService.wsdl?wsdl";
			// 直接引用远程的wsdl文件 
			Service service = new Service();
			Call call = (Call) service.createCall();
			call.setTargetEndpointAddress(endpoint);
			call.setOperationName( new QName(ns, "sayHello") );// WSDL里面描述的接口名称
			call.addParameter( new QName(ns,"name"), XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
			call.setReturnType(XMLType.XSD_STRING);// 设置返回类型
			String temp = "axis测试";
			String result = (String) call.invoke(new Object[] { temp });
			// 给方法传递参数，并且调用方法
			System.out.println("result is: " + result);
		} catch (Exception e) {
			System.err.println(e.toString());
		}
	}
}